#ifndef NANE_WAVSOUNDCODECSYSTEM_H
#   define  NANE_WAVSOUNDCODECSYSTEM_H

#   include "nane/CodecSystem/Sound/ISoundCodecSystem.h"

namespace nane 
{
    class WAVSoundCodecSystem
        : public ISoundCodecSystem
    {
    public:
        WAVSoundCodecSystem();
        ~WAVSoundCodecSystem();
        
    public:
        bool Initialize();
        void Shutdown();
        
        const char* GetFileType();
        
        ISoundDecoder* CreateDecoder( IInputRef* _input );
        ISoundDecoder* CreateDecoder( IInputSeekableRef* _inputSeekable );
        void ReleaseDecoder( IDecoder* _decoder );
        
        ISoundEncoder* CreateEncoder( IOutputRef* _output );
        void ReleaseEncoder( IEncoder* _encoder );
        
    };    
}   // namespace nane

#endif	// NANE_WAVSOUNDCODECSYSTEM_H
